package com.interview.config;

import com.interview.security.AuthRateLimitInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * Web配置类
 * 注册拦截器到Spring MVC
 * 
 * @author 赵志伟
 * @date 2025-10-30
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {

    /**
     * 注册拦截器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new AuthRateLimitInterceptor())
                // 拦截所有请求路径
                .addPathPatterns("/**")
                // 排除不需要拦截的路径（如登录接口、静态资源等）
                .excludePathPatterns(
                    "/demo/login",      // 登录接口
                    "/login",           // 登录接口（备用路径）
                    "/register",        // 注册接口
                    "/public/**",       // 公共资源
                    "/static/**",       // 静态资源
                    "/css/**",          // CSS文件
                    "/js/**",           // JS文件
                    "/images/**",       // 图片文件
                    "/favicon.ico",     // 网站图标
                    "/error"            // 错误页面
                );
    }
}
